<script setup>
  // import { onLoad } from '@dcloudio/uni-app'
  // 获取上一个页面传递的查询参数，方式一：
  // onLoad((options) => {
  //   console.log(options, 'options')
  // })

  import { getCurrentInstance } from 'vue'

  // 获取上一个页面传递的查询参数，方式二：（推荐）
  const props = defineProps({
    id: String,
  })

  // 1. 根据id查询详情，进行数据回显

  // console.log(props, 'props')

  // this // undfined, setup中的this是undefined

  // 有一种可能性：这个获取的this，可能不是页面实例
  // const _this = getCurrentInstance()
  // console.log(_this, '_this')

  const submit = () => {
    // 2. 做表单验证
    // 3. 调用编辑接口
    // 4. 回到上一个页面

    // 回到上一个页面之前，先触发 ec 的 edit-ok 事件，通知上一个页面 编辑成功了
    // 获取事件通道实例（和列表的是同一个实例）
    // const ec = uni.utils.getCurrentPage().getOpenerEventChannel()
    // ec.emit('edit-ok', { id: +props.id, name: '李四' })

    // 这里拿到的是小程序的页面实例，并不是Vue的页面实例
    // const prevPage = uni.utils.getPrevPage() // .updateUser({ id: +props.id, name: '李四' })
    // console.log(prevPage, 'prevPage')

    // // #ifdef MP-WEIXIN
    // // 小程序
    // // prevPage.$vm.updateUser({ id: +props.id, name: '李四' })

    // // #endif

    // #// #ifdef H5
    // // H5
    // prevPage.sayHi()

    // // #endif

    uni.$emit('test-eventchannel-list-edit-ok', { id: +props.id, name: '李四' })

    uni.navigateBack()
  }
</script>

<template>
  <view>id: {{ id }}</view>
  <button type="default" @click="submit">提交</button>
</template>

<style></style>
